package com.zjdiepu.www.base.core;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
/**
 * 分页查询条件
 * @author xiongxiaotun
 * @date 2017年3月22日 下午1:47:31
 * @since v1.0.0
 * @update
 */
@ApiModel(value="PageExt", description="分页查询条件", parent = BaseExt.class)
public class PageExt extends BaseExt implements Serializable {
	private static final long serialVersionUID = 1L;
	/**
	 * 每页记录数
	 */
	@ApiModelProperty(name="rows",required=false,value="每页记录数",example="10")
	private int rows = 10;
	/**
	 * 当前页号
	 */
	@ApiModelProperty(name="page",required=false,value="当前页号",example="1")
	private int page = 1;
	/**
	 * 开始数据
	 */
	@ApiModelProperty(name="offset",required=false,value="结束数据",hidden=true)
	private Integer offset;
	
	public int getRows() {
		return rows;
	}

	public void setRows(int rows) {
		this.rows = rows;
	}

	public int getPage() {
		return page;
	}

	public void setPage(int page) {
		this.page = page;
	}

	/**
	 * 获取第几条开始
	 * @author xiongxiaotun
	 * @date 2017年3月22日
	 * @since v1.0.0
	 * @return
	 */
	public Integer getOffset() {
		if (0 == page && 0 == rows) {
			return null;
		}
		this.offset = 0;
		if (page > 0) {
			this.offset = (page - 1) * rows;
		}
		return offset;
	}
	
	/**
	 * 查询条件：查询全部
	 * @author xiongxiaotun
	 * @date 2017年3月22日
	 * @since v1.0.0
	 */
	public void withOutPage() {
		this.page = 0;
		this.rows = 0;
	}

	@Override
	public String toString() {
		return "PageExt [rows=" + rows + ", page=" + page
				+ ", offset=" + offset + "]";
	}
}
